package com.ccc.javacv.convertor;


import com.ccc.javacv.pojo.ConvertContext;

/***
 * 定义一种视频流转换的实现
 */
public interface VideoConvertor {
    /**
     * 对于一种转换参数是否支持
     *
     * @param convertContext 上下文
     * @return 是否支持
     */
    boolean isSupport(ConvertContext convertContext);

    /**
     * @return 优先级
     */
    default Integer priority() {
        return 0;
    }

    /**
     * 开启视频流进行转换的任务（预备转换）
     *
     * @param convertContext 上下文
     * @return 视频流任务(用于管理)
     */
    VideoConvertorTask prepareConvert(ConvertContext convertContext);
}
